package enterprise.manage.util;

import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Created by IntelliJ IDEA.
 * User: zhenmingyue
 * Date: 2011-7-4 17:08:20
 * Desc:
 * For :
 */
public class StringUtilsExt extends StringUtils {
    /**
     * 日志
     */
    private static final Logger LOGGER = LoggerFactory.getLogger(StringUtilsExt.class);

    /**
     * 浮点数验证
     *
     * @param obj 欲验证的字符串
     * @return true 是，false 不是
     */
    public static boolean isFloat(String obj) {
        if (StringUtils.isNotBlank(obj)) {
            obj = obj.trim();
            int i = obj.indexOf('.');
            int j = obj.lastIndexOf('.');
            boolean startDot = obj.startsWith(".");
            boolean endDot = obj.endsWith(".");
            if (i == j && !startDot && !endDot) {
                obj = obj.replace(".", "");
                if (isNumeric(obj)) {

                    return true;
                } else {
                    return false;
                }
            } else {
                return false;
            }

        } else {
            return false;
        }
    }

    public static boolean isNotFloat(String obj) {
        return (!isFloat(obj));
    } 

    /**
     * 浮点数验证
     *
     * @param obj 欲验证的字符串
     * @param len 限定长度
     * @return true 是，false 不是
     */
    public static boolean isNotFloat(String obj, int len) {
        return (!isFloat(obj, len));
    }

    public static boolean isFloat(String obj, int len) {
        LOGGER.info(obj);
        if (isFloat(obj)) {
            if (obj.length() <= len) {
                return true;
            }
        }
        return false;
    }

    /**
     * 浮点数验证
     *
     * @param obj 欲验证的字符串
     * @param len 限定长度
     * @param max 最大值
     * @return true 是，false 不是
     */
    public static boolean isFloat(String obj, int len, int max) {
        if (isFloat(obj, len)) {
            if (Double.valueOf(obj) < max) {
                return true;
            }
        }
        return false;
    }

    public static String toString(Object obj) {
        if (obj == null) {
            return "";
        } else {
            return obj.toString();
        }

    }
}
